home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / qbbs / eft130.zip / ARCHEAD.BTM next >
Text File  |  1991-11-24  |  7KB  |  220 lines

  1. @echo off
  2. rem THIS MAY ONLY RUN WITH *** 4DOS V 4.x !!! ***
  3. rem ╔══════════════════════════════════════════════════════════════════════════╗
  4. rem ║                                                                          ║
  5. rem ║ ArcHead V 1.0 BONUS Archive header and unwanted files manipulator        ║
  6. rem ║               for use with Enhanced File Transfer                        ║
  7. rem ║                                                                          ║
  8. rem ║ Variables to adapt to your system:                                       ║
  9. rem ║                                                                          ║
  10. rem ║     headfilename ... name of PD and CUG header file, will be inserted    ║
  11. rem ║                      as archive header                                   ║
  12. rem ║                                                                          ║
  13. rem ║     pd_pkzip/                                                            ║
  14. rem ║     cug_pkzip ...     Name of PKZIP.EXE for PD and CUG areas, so you     ║
  15. rem ║                       can have two different AV strings...               ║
  16. rem ║                       Simply set to "PKZIP" if not wanted.               ║
  17. rem ║                                                                          ║
  18. rem ║     unwantedfname ... plain ASCII file contains names of unwanted        ║
  19. rem ║                       files (e.g. commericals from other BBSs), one file ║
  20. rem ║                       per line. All files listed here will be erased     ║
  21. rem ║                       from the archive.                                  ║
  22. rem ║                                                                          ║
  23. rem ║     Note! Exclamation mark parameter "!" great for usage under           ║
  24. rem ║     EFT: Switches to non color batch mode ,so that ArcHead will stay     ║
  25. rem ║     in EFT window. Example:                                              ║
  26. rem ║                                                                          ║
  27. rem ║     ArcHead C! pct7_1v8.zip pct7_2v8.zip new*.arj                        ║
  28. rem ║                                                                          ║
  29. rem ╚══════════════════════════════════════════════════════════════════════════╝
  30. setlocal
  31. set version=1.0
  32.  
  33. rem ***************************************************************************
  34. rem Set this to the path were ArcHead shall find your arcers
  35. rem NO TRAILING \
  36. rem ***************************************************************************
  37. set arcpath=x:\dos\arc
  38.  
  39. rem ***************************************************************************
  40. rem Do you have a special AV coded PKZIP for your closed areas?
  41. rem If so set it here
  42. rem ***************************************************************************
  43. set cug_pkzip=pkzipc.exe
  44.  
  45. rem ***************************************************************************
  46. rem This is the normal PKZIP.
  47. rem ***************************************************************************
  48. set pd_pkzip=pkzip.exe
  49.  
  50. if %@len[%1] EQ 1 goto headparmok
  51. if %@len[%1] EQ 2 goto headparmok
  52. goto noheadparm
  53. :headparmok
  54.  
  55. set unwantedfname=%arcpath\unwanted.fil
  56. set headfilename=x:\dos\utils\w.i
  57. if (%@substr[%@upper[%1],0,1]) == (C) set headfilename=x:\dos\utils\wi.cug
  58. if (%@substr[%@upper[%1],1,1]) == (!) set quiet=ON
  59. set lineheader   =x:\dos\utils\w.i2
  60.  
  61. gosub archeadline
  62.  
  63. iff "%quiet" NE "ON" then^
  64.     color green on black^
  65.     echo.^
  66.     echo ArcHead configuration:^
  67.     echo   Arcers in             %arcpath^
  68.     echo   Unwanted filenames in %unwantedfname^
  69.     echo   Headerfile            %headfilename^
  70.     echo.^
  71. endiff
  72.  
  73. if (%2) == () goto nofilenames
  74.  
  75. :loop
  76.  
  77. if (%2) == () goto end
  78. iff (%@ext[%2]) NE () then^set parm=%@name[%2].%@ext[%2]^
  79.                       else^set parm=%@name[%2]^
  80. endiff
  81. iff (%@path[%2]) NE () then^pushd^cdd %@substr[%@path[%2],0,%@eval[%@len[%@path[%2]]-1]] len^endiff
  82. if (%@ext[%parm]) == () goto noextension
  83.  
  84. :extension
  85. for %filename in (%parm) do gosub %@ext[%filename]
  86. goto goloop
  87.  
  88. :noextension
  89. for %%filename in (%parm.zip %parm.lzh %parm.ice %parm.arj %parm.zoo %parm.dwc %parm.sdn %parm.pak %parm.arc) do gosub %@ext[%filename]
  90.  
  91. :goloop
  92. if (%@path[%2]) NE () popd
  93. shift
  94. goto loop
  95.  
  96. :noheadparm
  97. gosub archeadline
  98. iff (%quiet) == () color bright green on black
  99. text
  100.  
  101.   Syntax: ArcHead {C|P}{!} [[Lw:][\Pfad\Filename.[Ext]] ...]
  102.                    !    !  !
  103.                    CUG / PUBLIC header
  104.                         !  !
  105.                         !  File(s)
  106.                         !
  107.                         Optional exclamation mark switches to
  108.                         non color batch mode
  109.  
  110. endtext
  111. iff (%quiet) == () color white on black
  112. goto end
  113.  
  114. :nofilenames
  115. for %filename in (*.zip *.lzh *.ice *.arj *.zoo *.dwc *.sdn *.pak *.arc) do gosub %@ext[%filename]
  116. goto end
  117.  
  118. :zip
  119. gosub display_del
  120. iff (%@substr[%@upper[%1],0,1]) == (C) then^
  121.    %arcpath\%cug_pkzip -k -d -! %filename @%unwantedfname > NUL:^
  122. else^
  123.    %arcpath\%pd_pkzip -k -d -! %filename @%unwantedfname > NUL:^
  124. endiff
  125. gosub display_header
  126. %arcpath\%pd_pkzip -k -z %filename < %headfilename > NUL:
  127. return
  128.  
  129. :lzh
  130. :ice
  131. gosub display_del
  132. %arcpath\lha d -wd:\ -m %filename < %unwantedfname > NUL:
  133. if (%@ext[%filename])==(ICE) ren %filename %@name[%filename].LZH
  134. return
  135.  
  136. :arj
  137. gosub display_del
  138. %arcpath\arj d -yi %filename !%unwantedfname > NUL:
  139. gosub display_header
  140. %arcpath\arj c -yi %filename -z%headfilename > NUL:
  141. return
  142.  
  143. :zoo
  144. set line=1
  145. if "" NE "%old" then unset old
  146. :zoo_weiter
  147. set new=%@line[%unwantedfname,%line]
  148. if "%old" == "%new" return
  149. %arcpath\zoo -delete %filename %new > NUL:
  150. gosub display_status
  151. set old=%new
  152. set line=%@eval[%line + 1]
  153. goto zoo_weiter
  154.  
  155. :dwc
  156. set line=1
  157. if "" NE "%old" then unset old
  158. :dwc_weiter
  159. set new=%@line[%unwantedfname,%line]
  160. if %old == %new goto dwc_end
  161. gosub display_status
  162. %arcpath\dwc d! %filename %new
  163. set old=%new
  164. set line=%@eval[%line + 1]
  165. goto dwc_weiter
  166. :dwc_end
  167. gosub display_header
  168. %arcpath\dwc a! %filename %headfilename
  169. %arcpath\dwc h! %filename %@name[%headfilename].%@ext[%headfilename]
  170. return
  171.  
  172. :sdn
  173. :pak
  174. gosub display_del
  175. %arcpath\pak d %filename @%unwantedfname > NUL:
  176. gosub display_header
  177. %arcpath\pak h %filename < %headfilename > NUL:
  178. if (%@ext[%filename])==(SDN) ren %filename %@name[%filename].PAK
  179. return
  180.  
  181. :arc
  182. gosub display_del
  183. %arcpath\pkpak -x %filename < %lineheader > NUL:
  184. gosub display_header
  185. %arcpath\pkpak -d %filename @%unwantedfname > NUL:
  186. return
  187.  
  188. :display_status
  189. echo    deleting "%new" in archive %filename
  190. return
  191.  
  192. :display_header
  193. iff (%quiet) == () color green on black
  194. echo    inserting header %headfilename
  195. iff (%quiet) == () color white on black
  196. return
  197.  
  198. :display_del
  199. iff (%quiet) == () color green on black
  200. echo    deleting files in %unwantedfname from %filename
  201. iff (%quiet) == () color white on black
  202. return
  203.  
  204. :archeadline
  205. iff (%quiet) == () then^
  206.   cls^
  207.   color bright white on blue^
  208.   echo  ■ ArcHead V%version   Archive header and unwanted files manipulator             ^
  209.   color white on black^
  210. else^
  211.   echo  ■ ArcHead V%version^
  212. endiff
  213. return
  214.  
  215. :end
  216. iff (%quiet) == () color green on black
  217. echo  ■ Bye from ArcHead V%version (C) The Wizard's Inn II BBS ++49-2307-21968
  218. iff (%quiet) == () color white on black
  219. endlocal
  220.